#include<iostream>
using namespace std;
const int N=100010;
int son[N][26],cnt[N],index;//下标是0的点即是空节点也是根节点
void insert(char str[])
{
    int p=0;
    for(int i=0;str[i];i++)
    {
        int u=str[i]-'0';//去字符
        if(!son[p][u])son[p][u]=++index;//index仅为对一个单词的最后一个字母加的一个标识
        p=son[p][u];//进行下一个节点的搜寻
    }
    cnt[p]++;
}
int query(char str[])
{
    int p=0;
    for(int i=0;str[i];i++)
    {
        int u=str[i]-'a';
        if(!son[p][u])return 0;//若无说明没有这个单词
        p=son[p][u];//有则继续寻找
    }
    return cnt[p];
}

int main()
{
    int n=0;
    char str[N];
    cin>>n;
    while(n--)
    {
        char op[2];
        cin>>op>>str;
        if(op[0]=='I')insert(str);
        else cout<<query(str);

    }
    return 0;
}